package com.lagou;

import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;

import javax.servlet.ServletException;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 2. 创建SpringApplication 类，编写run方法（方法中要求完成tomcat的创建及启动）
 * @author chengzhj
 * @data 2021/11/9 9:57 下午
 */
@Slf4j
public class SpringApplication {

    /**
     * tomcat启动
     */
    public static void run() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        // 端口
        int port = 8888;
        Tomcat tomcat = new Tomcat();
        tomcat.setPort(port);
        log.info("tomcat启动时间:{},端口为:{}", sdf.format(new Date()), port);
        // 设置contextPath和路径,这里只做演示
        String contextPath = "/";
        String docBase = "/Users/kyrin";
        try {
            // 告诉tomcat你的源码在哪里，不过spring也并没有使用webapp来访问页面资源
            tomcat.addWebapp(contextPath, new File("src/main/java").getAbsolutePath());
            // 启动tomcat
            tomcat.start();
            // 设置阻塞，否则程序就会直接走完了
            tomcat.getServer().await();
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (LifecycleException e) {
            e.printStackTrace();
        }
    }
}
